remotetemp 2.2.0
remotetemp.h File Reference

This file contains API for Remote Temp Click driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  remotetemp_t
 Click ctx object definition. More...
struct  remotetemp_cfg_t
 Click configuration structure definition. More...

Macros

#define REMOTETEMP_MAP_MIKROBUS(cfg, mikrobus)
#define REMOTETEMP_RETVAL   uint8_t
#define REMOTETEMP_OK   0x00
#define REMOTETEMP_INIT_ERROR   0xFF
#define REMOTETEMP_DEVICE_ADDRESS_4p7   0x7C
#define REMOTETEMP_DEVICE_ADDRESS_6p8   0x5C
#define REMOTETEMP_DEVICE_ADDRESS_10   0x4C
#define REMOTETEMP_DEVICE_ADDRESS_15   0x6C
#define REMOTETEMP_DEVICE_ADDRESS_22   0x1C
#define REMOTETEMP_DEVICE_ADDRESS_33   0x3C
#define REMOTETEMP_RANGE_0_127   0x00
#define REMOTETEMP_RANGE_m64_191   0x01
#define REMOTETEMP_EXT_DIODE_1   0x01
#define REMOTETEMP_EXT_DIODE_2   0x02
#define REMOTETEMP_EXT_DIODE_3   0x03
#define REMOTETEMP_EXT_DIODE_4   0x04
#define REMOTETEMP_STATUS   0x02
#define REMOTETEMP_CONFIG   0x09
#define REMOTETEMP_CONVERT   0x0A
#define REMOTETEMP_INT_DIODE_HIGH_LIMIT   0x0B
#define REMOTETEMP_INT_DIODE_LOW_LIMIT   0x0C
#define REMOTETEMP_EXT1_HIGH_LIMIT_HIGH_BYTE   0x0D
#define REMOTETEMP_EXT1_LOW_LIMIT_HIGH_BYTE   0x0E
#define REMOTETEMP_ONE_SHOT   0x0F
#define REMOTETEMP_SCRTCHPD1   0x11
#define REMOTETEMP_SCRTCHPD2   0x12
#define REMOTETEMP_EXT1_HIGH_LIMIT_LOW_BYTE   0x13
#define REMOTETEMP_EXT1_LOW_LIMIT_LOW_BYTE   0x14
#define REMOTETEMP_EXT2_HIGH_LIMIT_HIGH_BYTE   0x15
#define REMOTETEMP_EXT2_LOW_LIMIT_HIGH_BYTE   0x16
#define REMOTETEMP_EXT2_HIGH_LIMIT_LOW_BYTE   0x17
#define REMOTETEMP_EXT2_LOW_LIMIT_LOW_BYTE   0x18
#define REMOTETEMP_EXT1_THERM_LIMIT   0x19
#define REMOTETEMP_EXT2_THERM_LIMIT   0x1A
#define REMOTETEMP_EXTERNAL_DIODE_FAULT_STATUS   0x1B
#define REMOTETEMP_DIODE_FAULT_MASK   0x1F
#define REMOTETEMP_INT_DIODE_THERM_LIMIT   0x20
#define REMOTETEMP_THRM_HYS   0x21
#define REMOTETEMP_CONSEC_ALERT   0x22
#define REMOTETEMP_EXT1_BETA_CONFIG   0x25
#define REMOTETEMP_EXT2_BETA_CONFIG   0x26
#define REMOTETEMP_EXT1_IDEALITY_FACTOR   0x27
#define REMOTETEMP_EXT2_IDEALITY_FACTOR   0x28
#define REMOTETEMP_EXT3_HIGH_LIMIT_HIGH_BYTE   0x2C
#define REMOTETEMP_EXT3_LOW_LIMIT_HIGH_BYTE   0x2D
#define REMOTETEMP_EXT3_HIGH_LIMIT_LOW_BYTE   0x2E
#define REMOTETEMP_EXT3_LOW_LIMIT_LOW_BYTE   0x2F
#define REMOTETEMP_EXT3_THERM_LIMIT   0x30
#define REMOTETEMP_EXT3_IDEALITY_FACTOR   0x31
#define REMOTETEMP_EXT4_HIGH_LIMIT_HIGH_BYTE   0x34
#define REMOTETEMP_EXT4_LOW_LIMIT_HIGH_BYTE   0x35
#define REMOTETEMP_EXT4_HIGH_LIMIT_LOW_BYTE   0x36
#define REMOTETEMP_EXT4_LOW_LIMIT_LOW_BYTE   0x37
#define REMOTETEMP_EXT4_THERM_LIMIT   0x38
#define REMOTETEMP_EXT4_IDEALITY_FACTOR   0x39
#define REMOTETEMP_HIGH_LIMIT_STATUS   0x3A
#define REMOTETEMP_LOW_LIMIT_STATUS   0x3B
#define REMOTETEMP_THERM_LIMIT_STATUS   0x3C
#define REMOTETEMP_ROC_GAIN   0x3D
#define REMOTETEMP_ROC_CONFIG   0x3E
#define REMOTETEMP_ROC_STATUS   0x3F
#define REMOTETEMP_R1_RESH   0x40
#define REMOTETEMP_R1_LIMH   0x41
#define REMOTETEMP_R1_LIML   0x42
#define REMOTETEMP_R1_SMPL   0x43
#define REMOTETEMP_R2_RESH   0x44
#define REMOTETEMP_R23_RESL   0x45
#define REMOTETEMP_R2_LIMH   0x46
#define REMOTETEMP_R2_LIML   0x47
#define REMOTETEMP_R2_SMPL   0x48
#define REMOTETEMP_PER_MAXT1L   0x4A
#define REMOTETEMP_PER_MAXTH   0x4B
#define REMOTETEMP_PER_MAXT23L   0x4C
#define REMOTETEMP_GBL_MAXT1H   0x4D
#define REMOTETEMP_GBL_MAXT1L   0x4E
#define REMOTETEMP_GBL_MAXT2H   0x4F
#define REMOTETEMP_GBL_MAXT2L   0x50
#define REMOTETEMP_FILTER_SEL   0x51
#define REMOTETEMP_INT_HIGH_BYTE   0x60
#define REMOTETEMP_INT_LOW_BYTE   0x61
#define REMOTETEMP_EXT1_HIGH_BYTE   0x62
#define REMOTETEMP_EXT1_LOW_BYTE   0x63
#define REMOTETEMP_EXT2_HIGH_BYTE   0x64
#define REMOTETEMP_EXT2_LOW_BYTE   0x65
#define REMOTETEMP_EXT3_HIGH_BYTE   0x66
#define REMOTETEMP_EXT3_LOW_BYTE   0x67
#define REMOTETEMP_EXT4_HIGH_BYTE   0x68
#define REMOTETEMP_EXT4_LOW_BYTE   0x69
#define REMOTETEMP_HOTTEST_DIODE_HIGH_BYTE   0x6A
#define REMOTETEMP_HOTTEST_DIODE_LOW_BYTE   0x6B
#define REMOTETEMP_HOTTEST_STATUS   0x6C
#define REMOTETEMP_HOTTEST_CONFIG   0x6D
#define REMOTETEMP_PRODUCT_ID   0xFD
#define REMOTETEMP_MANUFACTURER_ID   0xFE
#define REMOTETEMP_REVISION   0xFF

Functions

void remotetemp_cfg_setup (remotetemp_cfg_t *cfg)
 Config Object Initialization function.
REMOTETEMP_RETVAL remotetemp_init (remotetemp_t *ctx, remotetemp_cfg_t *cfg)
 Initialization function.
void remotetemp_default_cfg (remotetemp_t *ctx)
 Click Default Configuration function.
void remotetemp_generic_write (remotetemp_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic write function.
void remotetemp_generic_read (remotetemp_t *ctx, uint8_t reg, uint8_t *data_buf, uint8_t len)
 Generic read function.
uint8_t remotetemp_int_get (remotetemp_t *ctx)
 Getting state of INT pin.
uint8_t remotetemp_an_get (remotetemp_t *ctx)
 Getting state of AN pin.
uint8_t remotetemp_set_range (remotetemp_t *ctx, uint8_t range_setting)
 Setting temperature range.
void remotetemp_read (remotetemp_t *ctx, uint8_t register_address, uint8_t *read_buffer, uint8_t n_bytes)
 Reads register content.
void remotetemp_write (remotetemp_t *ctx, uint8_t register_address, uint8_t *register_values, uint8_t n_bytes)
 Setting register content.
void remotetemp_set_int_diode_high_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting Internal diode high limit.
void remotetemp_set_int_diode_low_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting Internal diode low limit.
void remotetemp_set_ext_diode_high_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes high limit.
void remotetemp_set_ext_diode_low_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes low limit.
void remotetemp_set_ext_diode_therm_limit (remotetemp_t *ctx, int16_t limit_value, uint8_t diode)
 Setting external diodes thermal limits.
void remotetemp_set_int_diode_therm_limit (remotetemp_t *ctx, int16_t limit_value)
 Setting internal diodes thermal limits.
float remotetemp_get_internal_diode (remotetemp_t *ctx)
 Getting internal diode temperature value.
float remotetemp_get_external_diode (remotetemp_t *ctx, uint8_t diode)
 Getting external diode temperature value.
float remotetemp_get_hottest_diode (remotetemp_t *ctx)
 Getting hottest diode temperature value.

Detailed Description

This file contains API for Remote Temp Click driver.